package com.fumin.dao;

import com.fumin.model.SysRoleAcl;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface SysRoleAclMapper {
    int deleteByPrimaryKey(Integer id);

    int insert(SysRoleAcl record);

    int insertSelective(SysRoleAcl record);

    SysRoleAcl selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(SysRoleAcl record);

    int updateByPrimaryKey(SysRoleAcl record);

    /**
     * 根据多个角色ID的集合查询这些角色已经分配拥有的权限ID集合
     * @param roleIdList 角色ID集合
     * @return
     */
    List<Integer> getAclIdListByRoleIdList(@Param("roleIdList") List<Integer> roleIdList);


    /**
     * 根据角色ID删除角色已经拥有的所有权限点
     * @param roleId
     */
    void deleteByRoleId(@Param("roleId") int roleId);

    /**
     * 批量新增SysRoleAcl
     * @param roleAclList
     */
    void batchInsert(@Param("roleAclList") List<SysRoleAcl> roleAclList);

    /**
     * 查询已经具有指定权限点的所有角色
     * @param aclId 权限点ID
     * @return
     */
    List<Integer> getRoleIdListByAclId(@Param("aclId") int aclId);
}